package com.card.hwatt.service;

import java.io.Serializable;
import java.util.List;

import com.card.hwatt.dto.PageParam;
import com.card.hwatt.dto.PageResult;

public interface BaseService<T> {

	/**
	 * 返回唯一对象
	 */
	Object uniqueResult(String hql, Object... agrs);
	
	/**
	 * 获取全部集合
	 * @return
	 */
	List<T> loadAll();

	/**
	 * 通过条件获取集合
	 * @param param
	 * @return
	 */
	PageResult<T> loadAll(PageParam param);

	/**
	 * 通过id获取对象
	 * @param id
	 * @return
	 */
	T get(Serializable id);

	/**
	 * 添加
	 * @param entity
	 */
	void save(T entity);

	/**
	 * 更新
	 * @param entity
	 */
	void update(T entity);

	/**
	 * 删除
	 * @param id
	 */
	void delete(Serializable id);
}
